java IO相关(二) BIO NIO AIO 介绍
BIO
bio 同步阻塞,每一个请求连接都由一个线程来处理
NIO
nio 同步非阻塞,多路复用器轮询客户端的请求,每个客户端的 IO 请求会对应服务器的 一个线程
AIO
aio 异步非阻塞,客户端的io请求都是由os来处理,os处理完成后再通知服务器启动线程处理 (需要操作系统支持)
- 进程向操作系统请求数据
- 操作系统把外部数据加载到内核的缓冲区中
- 操作系统把内核的缓冲区拷贝到进程的缓冲区
- 进程获得数据完成自己的功能
Java NIO 属于同步非阻塞 IO,即 IO 多路复用,单个线程可以支持多个 IO 即询问时从 IO 没有完毕时直接阻塞,变成了立即返回一个是否完成 IO 的信号。
异步 IO 就是指 AIO,AIO 需要操作系统支持。
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Comment